package jiangjie3;
/*
接口的使用:
1.接口使用上也满足多态性。
2.接口实际上就是定义了一种规范。
3.开发中体会面向接口编程。
 */
public class UsbTest {
    public static void main(String[] args) {
        //1.创建了接口的非匿名实现类的非匿名对象
        Computer com=new Computer();
        Flash flash=new Flash();
        com.transfferDate(flash);
        //2.创建了接口的非匿名实现类的匿名对象
        com.transfferDate(new Printer());
        //3.创建了接口的匿名实现类的非匿名对象
        USB phone=new USB(){
            public void start(){
                System.out.println("手机开始工作");
            }
            public void stop(){
                System.out.println("手机结束工作");
            }
        };
        com.transfferDate(phone);
        //4.创建了接口的匿名实现类的匿名对象
        com.transfferDate(new USB(){
            public void start(){
                System.out.println("mp3开始工作");
            }
            public void stop(){
                System.out.println("mp3结束工作");
            }
        });
    }
}
class Computer{
    public void transfferDate(USB usb){//USB usb=new Flash
       usb.start();
        System.out.println("具体传输数据的细节");
        usb.stop();
    }
}
interface USB{
    //常量:定义了长，宽，高，最大最小的传输速度等
    void start();
    void stop();
}
class Flash implements USB{

    @Override
    public void start() {
        System.out.println("U盘开启工作");
    }

    @Override
    public void stop() {
        System.out.println("U盘结束工作");
    }
}
class Printer implements USB{

    @Override
    public void start() {
        System.out.println("打印机开启工作");
    }

    @Override
    public void stop() {
        System.out.println("打印机结束工作");
    }
}